/**
 * 
 * 本中间先验证token 时再验证 token有效性
 */

module.exports = (options, app) => {
    return async function userInterceptor(ctx, next) { //只验证token
        // console.log("token 路由中间件",ctx.header.token)
        const token = ctx.header.token;
        const USERID = ctx.header.tokenid; //header只有小写的      
        await ctx.service.tools.tokenVerify(token, USERID); 
        const tokenList = await ctx.model.Token.find({
            where: {
                token: token
            }
        })
        // console.log(USERID,"-----",token)       

        if (tokenList && tokenList.token == token && USERID) {
            //   const userId   = tokenList.userId;
            // await ctx.service.tools.tokenVerify(token, USERID); //token过期由其它中间件处理
            // console.log("token验证", isToken)
            await next(); //token 正确 ,执行控制器
        } else {
            ctx.status = 401;
            ctx.body = {
                status: 1,
                success: false,
                msg: '请重新登录', //无权限
            }
        }
    }

}